package net.wzw.service;

import net.wzw.entity.UserLoginEntity;
import net.wzw.entity.UserRegisterEntity;
import net.wzw.entity.UserRequestEntity;
import net.wzw.utils.ApiResult;
import net.wzw.vo.UserVO;

import java.util.Map;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author wzw
 * @since 2024-08-11
 */
public interface UserService {

    /**
     * 用户注册
     * @param userRegisterEntity
     * @return
     */
    ApiResult register(UserRegisterEntity userRegisterEntity);

    /**
     * 用户登录
     * @param userLoginEntity
     * @return
     */
    ApiResult login(UserLoginEntity userLoginEntity);

    /**
     * 用户刷新 token
     * @param params
     * @return
     */
    ApiResult refreshToken(Map<String, Object> params);

    /**
     * 获取用户个人信息
     * @return
     */
    UserVO getUserDetail();

    /**
     * 修改用户信息
     * @param userRequestEntity
     * @return
     */
    ApiResult save(UserRequestEntity userRequestEntity);
}
